Cloud One File Storage Securityを使ってS3にアップされたマルウェア、異常ファイルをチェックしてみた (導入編)
こんにちは、コンサル部@大阪オフィスのTodaです。
Trend Micro社が提供するCloud Oneには7点のサービスが存在します。
今回はクラウドストレージのファイルチェックが出来るFile Storage Securityを試してみました。
File Storage Securityとは?
File Storage Security(以降C1FSS)はクラウドストレージにアップロードされたファイルをスキャンして不正なプログラム等が埋め込まれていないかチェックをする事が可能です。
ファイルはBIN,EXE,JPEG,MP4,PDF,TXT,ZIPなど幅広いファイルに対応しておりTrend Micro社のウィルス検知の技術により保護することが可能です。
導入は簡単で、用意されているCloudFormationを導入する事で必要なLambda,SQS,SNSが準備されます。
S3単体にはウィルス検知をする仕組みがないためAWSマネージメントコンソールにて直接アップや、Transfer for SFTPなどファイルアップをした場合、チェックできなかったのがC1FSSを利用する事で可能になります。
■ Trend Micro Cloud One File Storage Security
https://www.trendmicro.com/ja_jp/business/products/hybrid-cloud/cloud-one-file-storage-security.html
フローとアーキテクチャーなど詳細は下記ページを参照ください。
仕組みを使うメリット
- 独自システムやTransfer for SFTPを利用してのS3にファイルアップロード時にチェックが可能
- チェック結果はC1FSSのコンソールにて確認が可能
- 不正なファイルが確認出来た場合、設定により別S3バケットに対象ファイルを移動可能
- 1点のC1FSSにて複数のAWSアカウントのS3バケットをチェックすることが可能
導入時、注意頂きたい事項
- ファイルチェックで異常判定のファイルはデフォルト設定の場合、オブジェクトタグ:fss-scan-result に malicious と記録されるのみとなります。バケットポリシーで指定タグが付いた物をダウンロードできないようにルールを設定する必要があります。
ファイルチェックはObjectCreatedのイベントを取得しておこないます。既存オブジェクトはチェックできないため注意が必要です。
上記、既存オブジェクトはチェックできないとお伝えしておりましたが別途トレンドマイクロ社が提供するLambda処理を利用する事で実装する事ができるようになりました。下記別記事にてご案内させていただきます。
事前の準備
C1FSSは新規CloudOneアカウントを準備して体験30日にて試しております。
チェックで利用するS3は事前に準備しております。
導入してみる
CloudOneコンソールにログイン
CloudOneコンソールにログインをおこない、File Storage Securityを選択します。
Stack Managementに移動
C1FSS画面、左メニューから[Stack Management]を選択してAWSアカウントとバケットを登録する画面を表示します。
AWSアカウントの登録
チェックを有効化するAWSアカウントを設定します。
デプロイ方法は「AWSアカウント+S3バケット」と「AWSアカウント」「S3バケット」個別に設定するパターンがございます。
今回は個別に設定する方法で対応致します。
画面内の[Deploy]をクリックして選択肢から[Scanner Stack]を選択します。
AWSアカウント内でCloudFormationやLambdaを配置するリージョンを指定して[Launch Stack]をクリックします。
AWSの画面に移動をおこないパラメータの指定をおこないます。
今回はパラメータは変更せず[スタックの作成]をおこないます。
CloudFormationの状態が「CREATE_COMPLETE」になったら出力タブを表示して画面内の「ScannerStackManagementRoleARN」の値をコピーしてCloudOneの画面にある入力枠にペーストしてSubmitをクリックします。
正常に完了すると一覧にAWSアカウントが登録されます。
ストレージの登録
Stack Managementの一覧で監視対象のAWSを選択した状態で[Add Storage]をクリックします。
先ほどのアカウントと操作は同じでLambdaを配置するリージョンを選択して[Launch Stack]をクリックします。
AWSの画面に移動をおこないパラメータの設定をおこないます。
今回は監視対象のS3を指定するため下記パラメータを設定します。
- S3BucketToScan: スキャン対象のS3名
- ObjectFilterPrefix: スキャン対象を限定する場合は文字列を指定、指定文字列で始まるオブジェクトがスキャン対象になります。空白は全オブジェクトを対象とします。
設定が完了したら[スタックの作成]をおこないます。
CloudFormationの状態が「CREATE_COMPLETE」になったら出力タブを表示して画面内の「StorageStackManagementRoleARN」の値をコピーしてCloudOneの画面にある入力枠にペーストしてSubmitをクリックします。
正常に完了すると一覧にバケットが登録されます。
上記でC1FSSの監視設定は完了になります。
オブジェクトスキャンを確認してみる
監視対象のS3にファイルをアップロードした際にどのような挙動になるかを確認します。
正常なファイルの場合
AWSマネージメントコンソール上でS3にファイルアップをおこないます。
アップロードをすると自動でスキャンが実行されて結果がオブジェクトのS3に反映されます。
タグの情報にてfss-scannedが「true」でfss-scan-resultが「no issues found」の場合は問題がないことを確認出来ます。
C1FSSの画面でも「no issues found」にてカウントされている事を確認します。
異常のあるファイルの場合
Lambdaで疑似ウィルスファイル(EICAR)を生成・アップロードするように対応してみました。
タグの情報を確認したところfss-scan-resultの表示が「malicious」に変わっています。
C1FSSの画面でも「malicious」にてカウントされている事を確認します。
異常のあるファイルの対応
C1FSSはデフォルト設定では異常判定のファイルに対してオブジェクトのタグ(fss-scan-result:malicious)を付けるようになっています。
上記タグが設定されたファイルをダウンロードできないようにするためバケットポリシーにてルール設定をおこないます。
異常ファイルの対応方法については別記事を参照ください。
さいごに
今回はC1FSSの導入からファイルアップロード時の挙動について確認してみました。
異常判定を受けたファイルの対処法や、別バケットへの移動、圧縮ファイルの対応については検証をおこない別途ブログにしたいと思います。
少しでもお客様のやりたいことの参考になればと考えております。